import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'common/index.dart';

/// 全局管理
class Global {
  static Future<void> init() async {
    // 系统样式
    setSystemUi();
    Loading();

    // 初始化服务（注册服务，注册之后会跟app的生命周期一起存在内存之中）
    await Future.wait([
      // 工具类,初始化本地存储
      Storage().init(),
    ]).whenComplete(() {
      // 初始化服务
      Get.put<ConfigService>(ConfigService());
      Get.put<NoticeService>(NoticeService());
      Get.put<HttpService>(HttpService());
      // 开启基础服务
      startBaseService(open: true);
    });
  }

  // 系统样式
  static void setSystemUi() {
    if (GetPlatform.isMobile) {
      // 屏幕方向 竖直上
      SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
      // 透明状态栏
      // SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
      //   statusBarColor: Colors.transparent, // transparent status bar
      // ));
    }

    if (GetPlatform.isAndroid) {
      // 去除顶部系统下拉和底部系统按键
      // SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
      // 去掉底部系统按键
      // SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
      //     overlays: [SystemUiOverlay.bottom]);

      // 自定义样式
      SystemUiOverlayStyle systemUiOverlayStyle = const SystemUiOverlayStyle(
        // 顶部状态栏颜色
        statusBarColor: Colors.transparent,
        // 该属性仅用于 iOS 设备顶部状态栏亮度
        // statusBarBrightness: Brightness.light,
        // 顶部状态栏图标的亮度
        // statusBarIconBrightness: Brightness.light,
        // 底部状态栏与主内容分割线颜色
        systemNavigationBarDividerColor: Colors.transparent,
        // 设置底部导航栏颜色(Android底部Home键)
        systemNavigationBarColor: Colors.white,
        // 底部状态栏图标样式
        systemNavigationBarIconBrightness: Brightness.dark,
      );
      SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
    }
  }

  /// 路由监控
  static final RouteObserver<PageRoute> routeObserver =
      RouteObserver<PageRoute>();

  // 开启基础服务
  static void startBaseService({bool? open = false}) {
    if (Storage().getString(Constants.storageAppInit) != '1') return;
    // // 腾讯IM服务
    // Get.put<IMService>(IMService());
    if (open == true) {
      /// 提前初始化数据请求
      // 极光初始化
      _initJverify();
    }
  }

  // 极光一键登录初始化及预取号
  static void _initJverify() {
    // // 极光一键登录
    // final Jverify jverify = Jverify();
    // jverify.setDebugMode(true); // 打开调试模式
    // jverify.setup(
    //   appKey: Constants.jverifyAppKey,
    //   channel: "devloper-default",
    // );
    //
    // // 是否初始化成功
    // jverify.isInitSuccess().then((map) {
    //   debugPrint('===一键登录初始化（Global.init）====$map');
    //   bool result = map["result"];
    // });
  }

}
